7246091cb7bbb25e883918c5786fc6fb8a0cc9e0,maddash-server/src/main/java/net/es/maddash/ResourceManager.java,ResourceManager,getEvents,#List#List#List#List#List#UriInfo#,797

Before Change


                stmt.setString(i+1, sqlParams.get(i));
            }
            ResultSet queryResults = stmt.executeQuery();
            ArrayList<JSONObject> eventList = new ArrayList<JSONObject>();
            while(queryResults.next()){
                JSONObject eventObj = new JSONObject();
                eventObj.put("uri", "/" + uriInfo.getPath() + "/" + queryResults.getInt(1));
                eventObj.put("name", queryResults.getString(2));
                eventObj.put("description", queryResults.getString(3));
                eventObj.put("startTime", queryResults.getLong(4));
                eventObj.put("endTime", queryResults.getLong(5));
                eventObj.put("changeStatus", queryResults.getBoolean(6));
                eventList.add(eventObj);
            }
            response.put("events", eventList);
            conn.close();

After Change


            List<String> colName, List<String> checkName, List<String> dimensionName, UriInfo uriInfo) {
        Connection conn = null;
        NetLogger netLog = NetLogger.getTlogger();
        JsonObjectBuilder response = Json.createObjectBuilder();
        String selectSQL = "SELECT DISTINCT events.id, events.name, events.description, events.startTime, events.endTime, events.changeStatus FROM events";
        
        netlogger.info(netLog.start("maddash.ResourceManager.getEvents"));
        try{
            ArrayList<String> sqlParams = new ArrayList<String>();
            String whereClause = RESTUtil.buildWhereClauseFromGet(gridName, rowName, colName, checkName, dimensionName, sqlParams);
            
            if(!"".equals(whereClause)){
                selectSQL += " INNER JOIN eventChecks ON events.id = eventChecks.eventId INNER JOIN checks ON checks.id=eventChecks.checkId";
                selectSQL += " WHERE " + whereClause;
            }
            conn = MaDDashGlobals.getInstance().getDataSource().getConnection();
            PreparedStatement stmt = conn.prepareStatement(selectSQL);
            for(int i = 0; i < sqlParams.size(); i++){
                stmt.setString(i+1, sqlParams.get(i));
            }
            ResultSet queryResults = stmt.executeQuery();
            JsonArrayBuilder eventList = Json.createArrayBuilder();
            while(queryResults.next()){
                eventList.add(
                        Json.createObjectBuilder()
                            .add("uri", "/" + uriInfo.getPath() + "/" + queryResults.getInt(1))
                            .add("name", queryResults.getString(2))
                            .add("description", queryResults.getString(3))
                            .add("startTime", queryResults.getLong(4))
                            .add("endTime", queryResults.getLong(5))
                            .add("changeStatus", queryResults.getBoolean(6))
                        );
            }
            response.add("events", eventList);
            conn.close();
        }catch(Exception e){
            if(conn != null){
                try {
                    conn.close();
                } catch (SQLException e1) {}
            }
            netlogger.error(netLog.end("maddash.ResourceManager.getEvents"));
            log.error("Error handling request: " + e.getMessage());
            e.printStackTrace();
            throw new RuntimeException(e.getMessage());
        }
        
        netlogger.info(netLog.end("maddash.ResourceManager.getEvents"));
        return response.build();
    }

    public JsonObject getEvent(int eventId, UriInfo uriInfo) {